package com.be.beadmin.system.service.ProductQualityService;

import com.be.beadmin.product.dto.WorkOrderProductPlanDto;
import com.be.beadmin.product.dto.input.ScheduleDto;
import com.be.beadmin.product.entity.ProductManufactInfor;

import javax.servlet.http.HttpServletRequest;

/**
 * @Description:
 * @author: Jiaming Zheng
 * @Date: Create in 15:08 2023/6/20
 * @Modified By:
 **/
public interface ProductManufactInforPqService {

    /**
     * 开始工序执行
     * @param productManufactInforId
     * @return
     */
    int startProductManufactExec(HttpServletRequest request, String productManufactInforId);

    /**
     * 完成工序执行
     * @param productManufactInforId
     * @return
     */
    int finishProductManufactExec(HttpServletRequest request,String productManufactInforId);

    /**
     * 暂停计时饼更新日历
     * @param productManufactInfor
     */
    ProductManufactInfor pauseTimeAndUpdateCap(ProductManufactInfor productManufactInfor);


    /**
     * 手动排程
     * @param workOrderProductPlanDto
     */
    void manualSchedule(WorkOrderProductPlanDto workOrderProductPlanDto);

    /**
     * 批量排程
     * @param scheduleDto
     */
    void scheduleByWoIds(ScheduleDto scheduleDto, boolean isManual);
}
